草庐IT

python - 在 Python 脚本中执行 curl 命令

全部标签

ruby-on-rails - 每个请求的 Ruby GC 执行超过 ~250-320 毫秒

我有一个ruby​​onrails应用程序。我正在调查我的NewRelic门户中的Apdex下降情况,我发现平均有250-320毫秒的时间花在了GC执行上。这是一个非常令人不安的数字。我在下面包含了一个屏幕截图。我的Ruby版本是:ruby1.9.3p194(2012-04-20修订版35410)[x86_64-linux]任何关于调整它的建议都是理想的。这个数字应该低得多。 最佳答案 您在GC上花费了很多时间,因为您经常运行GC。默认情况下,Ruby设置适用于小型脚本而非大型应用程序的GC参数。尝试使用以下环境参数集启动您的应用:

ruby - 如何从 ruby​​ 脚本中引用本地 gem?

我需要从一个普通的ruby​​脚本中引用一个本地gem,而不需要安装gem。追踪Howtoreferalocalgeminruby?,我尝试使用以下设置创建一个Gemfile:%w(custom_gemanother_custom_gem).eachdo|dependency|gemdependency,:path=>File.expand_path("../../#{dependency}",__FILE__)end脚本如下所示:require'custom_gem'CustomGem::Do.something当我执行此操作时:bundleexecrubyscript.rb我得到:

ruby - 如何观察YARV执行的Ruby字节码

我想观察YARV执行的Ruby字节码,事后分析。我怎样才能得到这个?其他人here告诉这是不可能的。但是,有hotruby似乎执行ruby字节码的框架,所以我很困惑......非常感谢! 最佳答案 你可以很好地使用解释器将一大块Ruby代码编译成字节码(当然,只有RubyMRI1.9可以工作,因为它是唯一使用YARV虚拟机的实现),并得到它的Ruby-ish表示:ruby-1.9.2-p180:007>require'pp'=>trueruby-1.9.2-p180:008>ppRubyVM::InstructionSequence

ruby - Python itertools 的 Ruby 等价物是什么,尤其是。组合/排列/groupby?

Python的itertools模块提供了很多关于使用生成器处理可迭代/迭代器的好东西。例如,permutations(range(3))-->012021102120201210combinations('ABCD',2)-->ABACADBCBDCD[list(g)fork,gingroupby('AAAABBBCCD')]-->AAAABBBCCDRuby中有哪些等价物?等效的,我的意思是快速和内存高效(Python的itertools模块是用C编写的)。 最佳答案 Array#permutation、Array#combin

ruby-on-rails - 从命令行安装 gem 与更改 gemfile

我试图了解在安装gems时到底发生了什么。起初我认为使用“geminstallgem_name”命令(然后是“bundleinstall”)将确保我拥有正确的文件和依赖项,然后它会更新gemfile。但我注意到,每当我使用命令行添加gem时,它都不会出现在gemfile中,但我仍然可以使用它的功能。那么是否有任何理由使用注释“geminstallgem_name”而不是将gem名称添加到gemfile? 最佳答案 使用Gemfile的原因是您可以一次安装所有必需的gem。假设您在一个开发团队中工作,一位新成员开始为您的应用程序做贡献

ruby - 惯用的 Ruby - 执行一个函数直到它返回一个 nil,将它的值收集到一个列表中

我从这篇文章中窃取了我的标题:Executesafunctionuntilitreturnsanil,collectingitsvaluesintoalist这个问题涉及Lisp,坦率地说,我无法理解。然而,我认为他的问题——翻译成Ruby——正是我自己的问题:What'sthebestwaytocreateaconditionalloopin[Ruby]thatexecutesafunctionuntilitreturnsNILatwhichtimeitcollectsthereturnedvaluesintoalist?我目前笨拙的方法是这样的:deffooret=Array.ne

ruby - Emacs 在运行编译命令时忽略了我的路径

我正在尝试让编译命令(rakecucumber)在我的MacOSX系统上使用特定的ruby​​版本运行,我目前在终端中使用rvm来执行此操作。我的~/.MacOSX/environment.plist中有正确的路径,但emacs坚持要在这条路径之前添加,因此使其无用。我也试过:(when(equalsystem-type'darwin)(setenv"PATH"(concat"/Users/fearoffish/.rvm/bin:/Users/fearoffish/.rvm/rubies/ruby-1.8.7-p249/bin:/Users/fearoffish/.rvm/gems/r

ruby-on-rails - 为什么 'bundle install --without production' 命令在更新后不需要 '--without production'?

为什么第二个命令不$bundleinstall不需要--withoutproduction(因为这是教程中的内容,所以我认为它是正确的)不需要它背后发生了什么/原因是什么?来自http://ruby.railstutorial.org/chapters/a-demo-app#sec-demo_users_resource$bundleinstall--withoutproduction$bundleupdate$bundleinstall 最佳答案 我相信这是因为bundler在您的项目文件夹中创建了一个.bundle/config

ruby - 将 Ruby 打包成可移植的可执行文件

长期以来,我一直在努力寻找一个好的解决方案:是否有可靠的方法将ruby​​安装到可在该平台上移植的文件夹中?我想要一个文件夹,我可以轻松地将其复制到我正在制作的发行版中,这样我就可以“随时随地”拥有一个ruby​​环境。如果我需要编译源代码和其他东西,那很好,只要我最终安装了可移植的ruby​​安装即可。我找到了一些试图解决这个问题的资源,但没有一个让我满意。PortableRubyonRailsenvironmenthttp://hcettech.blogspot.pt/2012/05/windows-portable-rails-development.html对我来说,这是Rub

ruby - "__rvm_do_with_env_before"和 "__rvm_after_cd"执行 "cd"时

我最近卸载了RVM(我认为主要是)。当我在终端中“cd”时,我得到:Adams-MacBook-Pro%cd__rvm_do_with_env_before:source:5:nosuchfileordirectory:/Users/adam/.rvm/scripts/initialize__rvm_after_cd:source:5:nosuchfileordirectory:/Users/adam/.rvm/scripts/hook我该如何解决这个问题?我猜是因为我没有完全卸载RVM。rvmimplode之后我还剩下哪些步骤要做谢谢 最佳答案